import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

public class Test {
    //运算符！！！！！！！
    public static void main1(String[] args) {
        //算术运算符+-*/%
        System.out.println(5/2);
        System.out.println((float)5/2);
        System.out.println(5/(float)2);
        System.out.println((float)(5/2));
        //System.out.println(5/0);报错
    }

    public static void main2(String[] args) {
        System.out.println(10%3);
        System.out.println(10%-3);
        System.out.println(-10%3);
        System.out.println(-10%-3);
        //符号看被除数的
        System.out.println(11.5%2.0);
        //可以对小数进行求余数
    }

    public static void main3(String[] args) {
        int a = 1;
        a+=1;//a=a+1;
        System.out.println(a);
    }

    public static void main4(String[] args) {
        short s1 = 10;
        //s1=s1+1;报错会发生整型提升
        s1+=1;//不报错
    }

    public static void main5(String[] args) {
        //自增自减运算符
        int a = 1;
        a++;
        System.out.println(a++);//先使用原来的变量值，表达式结束再++
        System.out.println(a);
    }

    public static void main6(String[] args) {
        //自增自减运算符
        int a = 1;
        int b = a++;
        System.out.println(a);
        System.out.println(b);
    }

    public static void main7(String[] args) {
        //关系运算符
        int a = 1;
        int b = 2;
        System.out.println(a==b);
        System.out.println(a>b);
        System.out.println(a>=b);
        System.out.println(a<b);
        System.out.println(a<=b);
        System.out.println(a!=b);
        //所有的关系运算符结果为true  or  false
    }

    public static void main8(String[] args) {
        //逻辑运算符 &&（短路与）---->若表达式1为假就不需要执行表达式2
        System.out.println(true && true);
        System.out.println(true && false);
        System.out.println(false && true);
        System.out.println(false && false);
    }

    public static void main9(String[] args) {
        //逻辑或|| (短路或)--->只要表达式1为true就不执行表达式2
        System.out.println(true || true);
        System.out.println(true || false);
        System.out.println(false || true);
        System.out.println(false || false);
        //只要一个表达式结果为true结果为true
    }

    public static void main10(String[] args) {
        //逻辑非
        int a = 1;
        System.out.println(!(a==1));
    }

    public static void main11(String[] args) {
        //位运算符 &(按位与)->都为1才是1  ^(按位异或)->只要有1就为1 |(按位或)->只要对应位不一样则为1 ~(按位取反)->0为1，1为0
        //位移运算符  左移<<  右移>>  无符号右移>>>
        //11->0000 1011     11<<1=0001 0110=22    11<<2=0010 1100=44 左移相当于乘法
        //11->0000 1011     11>>1=0000 0101=5     11<<2=0000 0010=2  右移相当于除法  -1->1111 1111   -1>>1=1111 1111=-1
        //无符号右移-1->1111 1111    -1>>>1=0111 1111  往右移左边全部补0
    }

    public static void main12(String[] args) {
        //条件运算符 ()?():()
        int a = 10;
        int b = 20;
        int c = a>b?a:b;
    }

    public static void main(String[] args) {
         boolean flg = false ? false : true == true ? true : false;
        System.out.println(flg);
    }
}
